\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message}{
\section{Zebulon::SICK::Messages::Message Class Reference}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message}\index{Zebulon::SICK::Messages::Message@{Zebulon::SICK::Messages::Message}}
}


\hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message}{Message} is the primary base class for deriving all \hyperlink{namespace_s_i_c_k}{SICK} LIDAR messages.  


{\ttfamily \#include $<$message.h$>$}Inheritance diagram for Zebulon::SICK::Messages::Message::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=0.457143cm]{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a8b1fe75eb29f82b4c076b568ec323dcd}{Type} \{ \par
{\bfseries StatusModeCommand} =  0x31, 
{\bfseries ConfirmStatusMode} =  0x00, 
{\bfseries OperatingModeCommand} =  0x20, 
{\bfseries SwitchOperatingModeResponse} =  0xA0, 
\par
{\bfseries ContinuousOutput} =  0xB0, 
{\bfseries SetPermanentBaud} =  0x66, 
{\bfseries Configure} =  0x77, 
{\bfseries SwitchScanning} =  0x3B
 \}
\begin{DoxyCompactList}\small\item\em The Type enumeration lists the different kinds of messages available for communication with the \hyperlink{namespace_s_i_c_k}{SICK} LIDAR. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_aa83068c80e0031b101d64a6a5d251775}{
{\bfseries Message} (const \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a8b1fe75eb29f82b4c076b568ec323dcd}{Message::Type} type)}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_aa83068c80e0031b101d64a6a5d251775}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a3c277fc362f2bbe79f1e8b0f1807bf26}{
virtual unsigned int {\bfseries Write} (CxUtils::Packet \&packet) const =0}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a3c277fc362f2bbe79f1e8b0f1807bf26}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a42461426611cdec3f4d1c02b331117b5}{
virtual unsigned int {\bfseries Read} (const CxUtils::Packet \&packet)=0}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a42461426611cdec3f4d1c02b331117b5}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_af862c364da3ecd81183b0d5ebdfb797f}{
virtual int {\bfseries RunTestCase} () const =0}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_af862c364da3ecd81183b0d5ebdfb797f}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a22cea3a08182d1ce1c2fc02f02859d8a}{
void {\bfseries SetAddress} (const unsigned char addr)}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a22cea3a08182d1ce1c2fc02f02859d8a}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ab6b760b9d19b543f3e159258dd283b81}{
void {\bfseries SetMessageTimeStamp} (const unsigned int ms)}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ab6b760b9d19b543f3e159258dd283b81}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_afad8190dc52907ee04cf91654e0e5f55}{
unsigned char {\bfseries GetAddress} () const }
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_afad8190dc52907ee04cf91654e0e5f55}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a8c08d287264c96a89349489e64f0db18}{
unsigned int {\bfseries GetMessageTimeStamp} () const }
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a8c08d287264c96a89349489e64f0db18}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a4bc097d87d52dfb2bd3fdfbdfa1a9e24}{
\hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a8b1fe75eb29f82b4c076b568ec323dcd}{Message::Type} {\bfseries GetMessageType} () const }
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a4bc097d87d52dfb2bd3fdfbdfa1a9e24}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a7584d34b9ce88d3235b61183089cba19}{
virtual \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message}{Message} $\ast$ {\bfseries Clone} () const =0}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a7584d34b9ce88d3235b61183089cba19}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a09175ca8d3b8f5355e80832dac26d180}{
void {\bfseries CopyMessageData} (const \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message}{Message} $\ast$msg)}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a09175ca8d3b8f5355e80832dac26d180}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_aece65bfa77df9c4454811bfedffa46b4}{
virtual void {\bfseries Print} () const }
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_aece65bfa77df9c4454811bfedffa46b4}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ab2d1f2906d8400d449e4a510015bb1e2}{
static int {\bfseries ExtractMessage} (const unsigned char $\ast$buffer, const unsigned int len, CxUtils::Packet \&packet)}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ab2d1f2906d8400d449e4a510015bb1e2}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a730e4b98d09c4f562bb4f003f1c7edc2}{
static int {\bfseries WriteCRC} (CxUtils::Packet \&packet)}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a730e4b98d09c4f562bb4f003f1c7edc2}

\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_aa7bbfa50c6dabb63c98336cadfc26bfc}{
static const unsigned char {\bfseries STX} = 0x02}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_aa7bbfa50c6dabb63c98336cadfc26bfc}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a149fa38c07dfd6d5b4f8f4bcfde448eb}{
static const unsigned int {\bfseries MIN\_\-MESSAGE\_\-SIZE} = 8}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a149fa38c07dfd6d5b4f8f4bcfde448eb}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ae1420899f11125b58301bfcb266802e7}{
unsigned char {\bfseries GetMessageTypeFromPacket} (const CxUtils::Packet \&msg) const }
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ae1420899f11125b58301bfcb266802e7}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_abfed86e21cf353e3957e72979a457a73}{
unsigned short {\bfseries GetDataSize} (const CxUtils::Packet \&msg) const }
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_abfed86e21cf353e3957e72979a457a73}

\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a6dd91ca80e96a35db7376fc679452edf}{
unsigned int {\bfseries WriteHeader} (CxUtils::Packet \&packet, unsigned char type, unsigned short len) const }
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a6dd91ca80e96a35db7376fc679452edf}

\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ae56ac0f6835fc5f0471946a68f4ade70}{
static unsigned short {\bfseries GenerateCRC} (const unsigned char $\ast$data, const unsigned int len)}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ae56ac0f6835fc5f0471946a68f4ade70}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a3779b8c95409cb0c9f93f9fed1f80331}{
unsigned char \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a3779b8c95409cb0c9f93f9fed1f80331}{mAddress}}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a3779b8c95409cb0c9f93f9fed1f80331}

\begin{DoxyCompactList}\small\item\em Destination address of \hyperlink{namespace_s_i_c_k}{SICK} LIDAR. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ac730e8017d0ee44bb6dbfb63149b674a}{
const \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a8b1fe75eb29f82b4c076b568ec323dcd}{Message::Type} \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ac730e8017d0ee44bb6dbfb63149b674a}{mMessageType}}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_ac730e8017d0ee44bb6dbfb63149b674a}

\begin{DoxyCompactList}\small\item\em \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message}{Message} type. \item\end{DoxyCompactList}\item 
\hypertarget{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a61e2aacdf9e3e057dff34d83a7fadc7c}{
unsigned int \hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a61e2aacdf9e3e057dff34d83a7fadc7c}{mMessageTimeStampMs}}
\label{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message_a61e2aacdf9e3e057dff34d83a7fadc7c}

\begin{DoxyCompactList}\small\item\em Time of message receipt in milliseconds. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{class_zebulon_1_1_s_i_c_k_1_1_messages_1_1_message}{Message} is the primary base class for deriving all \hyperlink{namespace_s_i_c_k}{SICK} LIDAR messages. 

The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/sick/include/sick/message.h\end{DoxyCompactItemize}
